package com.example.socialapp.ui.auth.register

import com.example.socialapp.ui.base.mvi.MviIntent

/**
 * Intents for the registration screen
 */
sealed class RegisterIntent : MviIntent {
    /**
     * Update the email input
     */
    data class UpdateEmail(val email: String) : RegisterIntent()
    
    /**
     * Update the password input
     */
    data class UpdatePassword(val password: String) : RegisterIntent()
    
    /**
     * Update the confirm password input
     */
    data class UpdateConfirmPassword(val confirmPassword: String) : RegisterIntent()
    
    /**
     * Update the display name input
     */
    data class UpdateDisplayName(val displayName: String) : RegisterIntent()
    
    /**
     * Update the phone number input
     */
    data class UpdatePhoneNumber(val phoneNumber: String) : RegisterIntent()
    
    /**
     * Toggle terms acceptance
     */
    data class ToggleTerms(val accepted: Boolean) : RegisterIntent()
    
    /**
     * Submit registration form
     */
    data object SubmitRegister : RegisterIntent()
    
    /**
     * Navigate to login screen
     */
    data object NavigateToLogin : RegisterIntent()
    
    /**
     * Navigate to terms and conditions screen
     */
    data object NavigateToTerms : RegisterIntent()
    
    /**
     * Register with Google
     */
    data object RegisterWithGoogle : RegisterIntent()
    
    /**
     * Register with Facebook
     */
    data object RegisterWithFacebook : RegisterIntent()
    
    /**
     * Register with Apple
     */
    data object RegisterWithApple : RegisterIntent()
} 